我們來窺探一下DeepMind發表的AI遊戲引擎-GameNGen的架構。
GameNGen分為代理和引擎兩個部份。
遊戲代理,也就是能玩DOOM(毀滅戰士)的AI,這個部分由常見的PPO+CNN組成。他們讓代理在已經已經設定好的遊戲環境(ViZDoom)中不斷學習,讓代理在遊戲中學習如何射擊、迴避前進等32種動作(行為,Actions)。
GameNGen部分,看起來很複雜,其實很直觀,就是一個Diffusion Model,不過以往的Diffusion Model 是吃Prompt(咒語) embedding,在這裡則是吃代理做出的動作(行為) embedding,藉由代理輸出的動作來決定下一個畫面(Frame)怎麼輸出。
藉由訓練好的遊戲代理,他們產生出了9億張的遊戲畫面給GameNGen訓練,
如此便能打造能根據玩家行為做即時更新的AI遊戲引擎了🤖
你可以看看右下角的狀態欄,在吃到霰彈槍後,子彈bull(bullet)的數字會不穩定
會有此現象是Diffusion Model造成的
我們看看2020年發表的GameGAN的生成結果,差的非常多,對不對?
Reference.
Diffusion Models Are Real-Time Game Engines
Project Site - Diffusion Models Are Real-Time Game Engines
Paper - DIFFUSION MODELS ARE REAL-TIME GAME ENGINES
Nvidia - Learning to Simulate Dynamic Environments with GameGAN